1. Field of the Invention
The present invention relates to data processing systems using logical type languages and, more particularly, to a data processing system for prologs or programs in logic.
2. Description of the Prior Art
FIG. 4 shows a conventional data processing system. The processing system 1 includes a prolog processing system 2; a prolog application program 3; and a predicate type database 4 which is incorporated in the prolog application program 3.
FIG. 5 illustrates an example of the prolog application program 3. Reference characters F1-F12 represent examples of the predicate type fact database 4. For example, F1 represents that the name of a predicate is color and the fact that the color of apples is red. R1 and R2 are examples of the predicate type rule database 4. For example, R1 represents a rule "Taro likes X" meaning that Taro likes a color of red when X is a color of red.
It is well known that a variable K of such a prolog application program can be determined by inputting a question "?- like (Hanako, K)" meaning what does Hanako like?This method can be carried out by reading the application program 3 in the order of arrangement using unification of the leading portion of a variable and back tracking until the last successful location in the case of a failure. The prolog processing system 2 has a RUM/prolog and other incorporating predicates and controls execution of the prolog application program 3.
In the above conventional method, the predicate type database 4 is incorporated in the prolog application program 3, which is integrated with the prolog processing system 2 so that it is difficult to make a large program. Where a large program can be divided into a number of blocks, it is easy to make and test such a large program by dividing it into a number of modules. However, it has been impossible by the conventional method.